应用自定义渲染到 2D 节点,以创建后处理效果。 例如,您可以将 2D 节点中的颜色图像转换为灰度。
要应用自定义渲染到 2D 节点,使用 合成笔刷 (Composition Brush) 属性通过 材质笔刷 (Material Brush) 在屏幕上合成节点,并启用 力合成 (Force Composition) 属性。
要应用自定义渲染到 2D 节点:

attribute vec3 kzPosition;
attribute vec2 kzTextureCoordinate0;
uniform highp mat4 kzProjectionCameraWorldMatrix;
varying mediump vec2 vTexCoord;
void main()
{
precision mediump float;
vTexCoord = kzTextureCoordinate0;
gl_Position = kzProjectionCameraWorldMatrix * vec4(kzPosition.xyz, 1.0);
}ContentTexture 以定义渲染节点在渲染时提供的纹理RenderOpacity 以定义渲染节点的不透明度uniform sampler2D ContentTexture;
varying mediump vec2 vTexCoord;
uniform lowp float RenderOpacity;
void main()
{
precision mediump float;
//使用此算法可以将 2D 节点使用的
//纹理中的颜色转换为灰度。
//要整合到 Kanzi 渲染管道,着色器必须输出
//预乘阿尔法。
vec4 color = texture2D(ContentTexture, vTexCoord);
float grayscale = dot(color.rgb, vec3(0.21, 0.72, 0.07));
float alpha = color.a * RenderOpacity;
vec3 premultipliedColor = vec3(grayscale) * alpha;
gl_FragColor = vec4(premultipliedColor, alpha);
}


